﻿// --------------------------------
// <copyright file="PlatformConfig.cs" company="Faculty of Information Technology, Czech Technical University in Prague">
//     This document is shared by Microsoft Public License (MS-PL)
//     For further details please see http://msdn.microsoft.com/en-us/library/ff648068.aspx or license.txt.
// </copyright>
// <author>Lukáš Molnár</author>

// <email>molnaluk@fit.cvut.cz</email>

// <date>6. 12. 2011 21:40:09</date>

// <summary>
//
// </summary>
// --------------------------------

using System;
using System.ComponentModel;
using FITClub.Util;

namespace FITClub.Episode1.Levels
{
#if WINDOWS

    [Serializable]
#endif
    public class PlatformConfig : AVisibleComponentConfig
    {
        [Category("Size")]
        public float Width { get; set; }

        [Category("Size")]
        public float Height { get; set; }

        [Category("Design")]
        public string Name { get; set; }

        public PlatformConfig()
        {
        }

        public PlatformConfig(MatrixTransforms transforms)
        {
            this.Transforms = transforms;
        }

        public override string ToString()
        {
            return string.Format("{5} [{0};{1}] w={2} h={3} {4}", this.Transforms.Translation.X, this.Transforms.Translation.Y, this.Width, this.Height, this.ModelPath, this.Name);
        }

#if WINDOWS

        public override object Clone()
        {
            return ObjectCopier.Clone<PlatformConfig>(this);
        }

#endif
    }
}